1. Field of the Invention
The present invention relates to a printing system for processing and printing print information described in a page description language and others and to a method of performing same.
2. Description of the Related Art
On a client computer, text entry software, plotting software, image editing software and other software are run and a document can be widely composed. A document is described in the internal format of each software and the internal format is converted to a format suitable for printing when the document is printed. For a description format, PostScript (PS), Interpress, GDI, QuickDraw (any is a trademark or a registered trademark) and others can be given as an example. The language specifications of PostScript which is a typical example are published as PostScript Reference Manual by Adobe Systems. The language specifications of Interpress are published as Interpress The Source Book by Xerox (in the United States). The basic description of the language and the processing process are described in the second chapter, "The Programming Language" of The Source Book. Interpress is a stack-type language in which an operand is pushed into a stack, and when an operator part is executed, its operand is removed from a stack and is replaced with the result. Such operation of an operator has a more important property as a process for generating a page image efficiently than as a process for returning a result particularly in an imaging operator. Software for executing this task is roughly classified into two categories. One is an interpreter for interpreting a language and the other is an imager for generating a visible image in a memory. The respective specifications are different, however, PostScript is also basically similar and the language and the execution are described in detail in the second and third chapters of PostScript Reference Manual. For example, on the 40th page, it is described that "PostScript has no concept of reading a program prior to the execution and instead every time PostScript interpreter reads one grammatical entity, it executes the entity." This is the characteristic of an interpreter for sequentially executing a program.
That is, in a conventional type page description language processing printer, sequential interpretation is executed by the central processing unit (CPU) of the printer and printing is executed by the body of the printer. An example in which a memory for receiving and storing a program for printing transmitted from a computer (hereinafter called a printing job), a processor for sequentially interpreting the printing job and a printer for printing according to the interpreted printing job are provided, and after the printing job is transmitted from the computer to the printer, the printer translates the printing job and prints to reduce the load of the computer and to enhance the processing rate of the whole system is described in Japanese Published Unexamined Patent Application No. Hei 1-188374. However, it is known that if conversion from a page description language to a print picture element (hereinafter called rasterization) is realized by software, a large quantity of processing time is required. Further, it is feared that more and more loads will be imposed on a processor in the future to meet the recent requirements of higher quality and coloring.
Some techniques are proposed to process a printing job at higher speed and for a conventional type example related to the present invention, a printing system in which plural processors are roughly connected by a network and a printing job is interpreted in parallel by distribution in a network is disclosed in Japanese Published Unexamined Patent Applications No. Hei 3-507018 and No. Hei 6-168087.
However, a printing system disclosed in Japanese Published Unexamined Patent Application No. Hei 3-507018 is constituted so that after a client process for dividing a printing job into plural processors and instructing parallel rasterization or a print configuration server for controlling synchronization of the division of a printing job and parallel rasterization with plural processors collects print picture elements and synthesizes them in an image memory, the synthesized print picture elements are transferred to a printer for executing printing. That is, in the above printing system, a large quantity of rasterized print picture element information is transferred at least twice via a network. Therefore, in the printing system disclosed in the Japanese Published Unexamined Patent Application No. Hei 3-507018, network traffic is increased, and it takes much time to output a print and the effect of parallel rasterization by plural processors cannot be obtained sufficiently.
In the meantime, a printing system disclosed in Japanese Published Unexamined Patent Application No. Hei 6-168087 is constituted so that a management object (or a manager) for managing parallel rasterization by plural processors instructs a print object in each processor to print using each CPU and the print object controls a printer when it receives a print message and sends rasterized print picture element information to the printer. Further, the division on a page of a divided, rasterized and collected printing job is not considered and it is premised that division is in units of page. Therefore, the effect of distributed processing described in the Japanese Published Unexamined Patent Application No. Hei 6-168087 greatly depends upon the number of pages included in a printing job and it is clear that if the number of pages included in a printing job is small, the effect of distributed processing cannot be obtained sufficiently.
In Japanese Published Unexamined Patent Application No. Hei 6-12392, a scheduler allocates processing to a computer in order by allocating to a computer the total amount processed, which is small, from a large quantity of processing in order and updating the total amount. In the case of general calculation, the result is regardless of the computer that used. However, in the case of a printing job, there are computer which can process a particular printing job and computers which cannot process it, and therefore, a printing job cannot be scheduled based upon simply totalized amount of processing. A printing job is required to be synchronized in units of page. However, in the above patent application, if a distributed job in units of page cannot be successively collected even if processing is uniformly finished in a printing job consisting of plural pages, printing cannot be started until the whole distributed job is collected and the effect of distribution in printing cannot be obtained. In the case of the above patent application, each computer has similar functions and resources such as the utilization factor of CPU, the stability of CPU, the limit of time in which CPU is utilized and CPU rate are managed. However, as apparatuses for executing processing for printing are not provided with the same function, but rather processors are provided with different characteristics, and further a collector and a printer are required, and a printer the total amount of processing of which is small and to which a job is not allocated is selected by a user, inconvenience occurs in usual use. As a printing job is divided in units of page, it is difficult to estimate the amount of a job simply based upon the total amount of processing. As a printing job is sequentially processed, is output on paper and the location is defined differently from a general computer job, information to understand the progress of the whole job is also essential to distributed processing, however, heretofore, no such control means of a printing job existed.
When processing is executed via a network, a print file is created by various applications and in addition, many types of files are created. If a divided file is a raster file apropriate for printing such as a photograph, it is difficult to divide a printing job as it is and as the size of a file consisting of raster data is very large, time required for processing a raster file and time required for transferring it become bottlenecks.